package T04_数据库连接方式举例.F05_连接方式五;

import org.junit.jupiter.api.Test;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

/**
 *连接方式五(最终版)
 *1.使用配置文件的方式配置数据库信息
 *    ①配置文件的位置
 *        配置文件声明在工程的src目录下：【jdbc.properties】
 *    ②编写配置文件中数据内容
 *       （说明:使用配置文件的方式保存配置信息,在代码中加载配置文件）
 *    ③使用配置文件的好处
 *        实现了代码和数据的分离，如果需要修改配置信息，直接在配置文件中修改，不需要深入代码
 *        如果修改了配置信息，省去重新编译的过程。
 *    ④小问题知识点
 *        1.MySQL中URL可以简写：
 *          jdbc:mysql:///数据库名（前提：必须是本地服务器，端口号是 3306）
 *        2.乱码的处理
 *          如果数据库出现乱码，可以指定参数: ?characterEncoding=utf8，表示让数据库以 UTF-8 编码来处理数据。
 *          jdbc:mysql://localhost:3306/数据库?characterEncoding=utf8
 *2.最终版本的书写步骤
 *    ①搞定配置文件
 *    ②在代码中加载配置文件
 *    ③读取配置信息
 *    ④加载驱动(在JDBC4.0中这一步已经可以不用写了)
 *    ⑤获取连接
 */
public class TestConnection05 {

     @Test
     public  void  test01() throws Exception{

         //1.加载配置文件
         InputStream is = TestConnection05.class.getClassLoader().getResourceAsStream("jdbc.properties");
         Properties pros = new Properties();
         pros.load(is);

         //2.读取配置信息
         String user = pros.getProperty("user");
         String password = pros.getProperty("password");
         String url = pros.getProperty("url");
         String driverClass = pros.getProperty("driverClass");

         //3.加载驱动
         Class.forName(driverClass);

         //4.获取连接
         Connection conn = DriverManager.getConnection(url,user,password);
         System.out.println(conn);
     }
}
